Machine vision systems, also termed “vision systems” herein are used to perform a variety of tasks in a manufacturing environment. In general, a vision system consists of one or more cameras with an image sensor (or “imager”) that acquires grayscale or color images of a scene that contains an object under manufacture. Images of the object can be analyzed to provide data/information to users and associated manufacturing processes. The data produced by the image is typically analyzed and processed by the vision system in one or more vision system processors that can be purpose-built, or part of one or more software application(s) instantiated within a general purpose computer (e.g. a PC, laptop, tablet or smartphone). Some types of tasks performed by the vision system can include inspection of objects and surfaces and/or alignment of objects (also termed “workpieces”) on a moving motion stage, which can include servoing the motion stage along one or more orthogonal axes and/or in rotation.
Alignment of a workpiece often requires identification and location of a predetermined shape, that can be termed a “fiducial”. As part of the alignment process, the fiducial is recognized on the image, and its “pose” in 2-dimensions (2D) or three-dimensions (3D) is determined. Based upon determination of the pose, the workpiece can be aligned to perform a manufacturing operation, such as assembly of components.
Often, the shape of the fiducial (e.g. a cross) is trained into the vision system as part of its initial setup. This training is based on either a synthetic or actual image of the fiducial. It is recognized that the fiducial can be distorted. Such distortion can be the result of the process that generates the shape/fiducial. For example, the printing of a cross-shaped fiducial can give rise to process variations that can result in a variation in the cross stroke width. In the case of a cross and circle, stroke width can vary and part of the circle can be flattened, resulting in an edge that defines an oval or spline. While vision system applications that search for affine transformation (i.e. changes in scale, rotation, translation and skew, typically in 2D) can identify and locate (determine pose of) a fiducial with relative efficiency, the inclusion of distortion in combination with affine transformation, can make the process of determining fiducial pose more challenging and less reliable/efficient.